



enum IdmsErrorCode_e
{
	idms_sucess = 0,
	idms_invalid_args,
	idms_invalid_param_name,
	idms_invalid_param_type,
	idms_invalid_param_value,
	idms_param_not_writable,
	idms_tree_not_found,
	idms_runtime_error,
	idms_node_already_exist
}

enum IdmsCPEMethod_e
{
	IdmsCPEMethod_Invalid = 0,
	IdmsCPEMethod_Reboot,
	IdmsCPEMethod_Download,
	IdmsCPEMethod_Upload,
	IdmsCPEMethod_FactoryReset
}

struct IdmsParamInfo_t
{
	1: string Name,
	2: i32 Writable,
}

struct ParameterValue_t
{
	1: string name, 
	2: string paramkey, 
	3: string val,
}

struct hello_world_t
{
	1: string response,
}

service dmm  {
	i32 initialize(),

	i32 CreateTree(),

	i32 SetParameterValue(1: ParameterValue_t para_value),

	ParameterValue_t GetParameterValue(),

	list<hello_world_t> gptrarray_test(1: list<hello_world_t> send);

}
